package com.leetcode;

/**
 * 比特位计数
 *
 * @author winson
 * @create 2022-04-14 15:00
 */
public class CountBitsSolution {

    public int[] countBits(int n) {
        int[] ans = new int[n];
        /**
         * 分析二进制，奇数比前一个偶数多1
         */
        for (int i = 0; i < n; i++) {
            if (i < 2) {
                ans[i] = i;
            } else if (i % 2 == 0) {
                ans[i] = ans[n/2];
            } else {
                ans[i] = ans[i-1] + 1;
            }
        }
        return ans;
    }
}
